package provatable;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.math.BigDecimal;
import java.util.List;


/**
 * The persistent class for the FEEDBACK database table.
 * 
 */
@Entity
@NamedQuery(name="Feedback.findAll", query="SELECT f FROM Feedback f")
public class Feedback implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private long oid;

	@Column(name="\"DATA\"")
	private Timestamp data;

	private String descrizione;

	private BigDecimal iddestinatario;

	private BigDecimal idmittente;

	private BigDecimal voto;

	//bi-directional many-to-one association to Gruppo
	@OneToMany(mappedBy="feedback")
	private List<Gruppo> gruppos;

	//bi-directional many-to-one association to Locale
	@OneToMany(mappedBy="feedback")
	private List<Locale> locales;

	public Feedback() {
	}

	public long getOid() {
		return this.oid;
	}

	public void setOid(long oid) {
		this.oid = oid;
	}

	public Timestamp getData() {
		return this.data;
	}

	public void setData(Timestamp data) {
		this.data = data;
	}

	public String getDescrizione() {
		return this.descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	public BigDecimal getIddestinatario() {
		return this.iddestinatario;
	}

	public void setIddestinatario(BigDecimal iddestinatario) {
		this.iddestinatario = iddestinatario;
	}

	public BigDecimal getIdmittente() {
		return this.idmittente;
	}

	public void setIdmittente(BigDecimal idmittente) {
		this.idmittente = idmittente;
	}

	public BigDecimal getVoto() {
		return this.voto;
	}

	public void setVoto(BigDecimal voto) {
		this.voto = voto;
	}

	public List<Gruppo> getGruppos() {
		return this.gruppos;
	}

	public void setGruppos(List<Gruppo> gruppos) {
		this.gruppos = gruppos;
	}

	public Gruppo addGruppo(Gruppo gruppo) {
		getGruppos().add(gruppo);
		gruppo.setFeedback(this);

		return gruppo;
	}

	public Gruppo removeGruppo(Gruppo gruppo) {
		getGruppos().remove(gruppo);
		gruppo.setFeedback(null);

		return gruppo;
	}

	public List<Locale> getLocales() {
		return this.locales;
	}

	public void setLocales(List<Locale> locales) {
		this.locales = locales;
	}

	public Locale addLocale(Locale locale) {
		getLocales().add(locale);
		locale.setFeedback(this);

		return locale;
	}

	public Locale removeLocale(Locale locale) {
		getLocales().remove(locale);
		locale.setFeedback(null);

		return locale;
	}

}